Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

353
Views
certificado "docker pull" firmado por una autoridad desconocida

Estaba tratando de extraer una imagen de la ventana acoplable de un registro de la ventana acoplable, pero encontré el siguiente problema:

 $ docker pull <docker registry>/<image name>/<tag> Error response from daemon: Get <docker registry>/v1/_ping: x509: certificate signed by unknown authority

Intenté con "curl" y recibí un mensaje de error similar:

 curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option.

Así que descargué el certificado CA y lo importé al servidor (RedHat Linux 7) con los siguientes comandos:

 cp root_cert.cer /etc/pki/ca-trust/source/anchors/ update-ca-trust

Después de importar el certificado raíz, puedo ver que curl funciona bien, ya que no se quejará del error del certificado; sin embargo, si uso docker pull , sigo teniendo el mismo problema. ¿La docker utiliza una ubicación ca-cert diferente a la de curl ? ¿Cómo soluciono el problema con docker pull en esta situación?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Es posible que deba reiniciar el servicio docker para que detecte el cambio en los certificados del sistema operativo.

Docker tiene una ubicación adicional que puede usar para confiar en la CA del servidor de registro individual. Puede colocar el certificado de CA dentro /etc/docker/certs.d/<docker registry>/ca.crt . Incluya el número de puerto si lo especifica en la etiqueta de la imagen, por ejemplo, en Linux.

 /etc/docker/certs.d/my-registry.example.com:5000/ca.crt

o en Windows 10:

 C:\ProgramData\docker\certs.d\ca.crt
over 4 years ago · Santiago Trujillo Report

0

  • primero crea un archivo json vacío

     cat << EOF > /etc/docker/daemon.json { } EOF
  • que ejecutar lo siguiente para agregar certificados

     openssl s_client -showcerts -connect [registry_address]:[registry_port] < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/docker/certs.d/[registry_address]/ca.crt

funciona sin reiniciar

O

importar el certificado al sistema como

  • guarde el certificado en el archivo, como el comando anterior (el puerto es crucial, no es necesario el protocolo)

     openssl s_client -showcerts -connect [registry_address]:[registry_port] < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ca.crt
  • cópielo en /usr/local/share/ca-certificates/

     sudo cp ca.crt /usr/local/share/ca-certificates/
  • ejecutar actualizar-ca-certificados

     sudo update-ca-certificates
  • reiniciar ventana acoplable!

over 4 years ago · Santiago Trujillo Report

0

Aquí hay una solución rápida:

  • Edite o cree el archivo /etc/docker/daemon.json y agregue insecure-registries :

ejemplo para docker.squadwars.org :

 { "insecure-registries" : ["docker.squadwars.org:443"] }
  • Reiniciar el demonio docker
 systemctl restart docker
  • Cree un directorio con el mismo nombre del host.

ejemplo para docker.squadwars.org:

 mkdir -p /etc/docker/certs.d/docker.squadwars.org
  • Obtenga el certificado y guárdelo en el directorio creado.
 ex +'/BEGIN CERTIFICATE/,/END CERTIFICATE/p' <(echo | openssl s_client -showcerts -connect docker.squadwars.org:443) -scq > /etc/docker/certs.d/docker.squadwars.org/docker_registry.crt
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!